/**
 * describe:
 *
 * @author chaP
 * @date 2019/03/09
 */
package CodingTest.AC20190309;

/**
 * 题目描述
 求1+2+3+...+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。
 */
public class Sum_Solution {
    //方法一：短路求值原理：而“||”运算符表示“或”，有一个为真则全部为真；前半部分判断出来是真的，后半部分就不再进行运算了。
    //同理对于“&&”运算符，前一项为假则整个表达式为假，后面就不用计算我们利用这个性质可以进行递归运算或者达到整洁代码的目的
    public int Sum_Solution(int n){
        int result = n;
        boolean ans = (n>0)&&((result += Sum_Solution(n-1))>0);
        return result;

    }
    //解法二：
}
